package cn.uestc.labhms.modules.hms.service;

import cn.uestc.labhms.modules.hms.entity.Vo.CommonConditionVo;
import cn.uestc.labhms.modules.hms.entity.Vo.ConditionsFindVo;
import cn.uestc.labhms.modules.hms.entity.Vo.ViewVo;
import cn.uestc.labhms.modules.hms.util.HMSPageUtils;

import java.util.List;

/**
 * @author Mutz
 */
public interface ViewService {
    /**
     * 根据视图名获取视图数据，只有管理员可以看视图，并将视图结构储存在ConcurrentHashMap中做缓存
     * @param viewVo
     * @return
     */
    HMSPageUtils getViewData(ViewVo viewVo);

    /**
     * 返回视图列表
     * @return
     */
    List<String> getViewNameList();

    /**
     * 查询视图的字段
     * @param viewName 视图名
     * @return 中文字段
     */
    CommonConditionVo getViewField(String viewName);

    /**
     * 根据条件查询视图
     * @param keys
     * @param vals
     * @param curPage 当前页
     * @return
     */
    HMSPageUtils getViewWithField(String viewName, List<String> keys, List<String> vals, Integer curPage);
}
